package req

// AddDeptReq 添加部门参数
type AddDeptReq struct {
	Id   *int64 `json:"id"`
	Name string `json:"name" valid:"Required;" description:"名称"`
	Pid  int64  `json:"pid"  description:"上级ID，一级菜单为0"`
	Sort int    `json:"sort"  description:"排序"`
}

type AddRoleReq struct {
	Id         int64   `json:"id"`
	Name       string  `json:"name" description:"角色名称"`
	Code       string  `json:"code" description:"角色编码"`
	Remark     string  `json:"remark" description:"备注"`
	Status     int     `json:"status" description:"状态"`
	DeptIdList []int64 `json:"deptIdList" description:"部门ID列表"`
	MenuIdList []int64 `json:"menuIdList" description:"菜单ID列表"`
}

type AddMenuReq struct {
	Id          int64  `json:"id"`
	Name        string `json:"name"  valid:"Required;" description:"名称"`
	Url         string `json:"url" description:"菜单URL"`
	Permissions string `json:"permissions" description:"授权(多个用逗号分隔，如：sys:user:list,sys:user:save)"`
	Pid         int64  `json:"pid" description:"上级ID，一级菜单为0"`
	MenuType    int    `json:"menuType" description:"类型   0：菜单   1：按钮"`
	Icon        string `json:"icon" description:"菜单图标"`
	Sort        int    `json:"sort" description:"排序"`
}

type AddSysUser struct {
	Id         int64   `json:"id"`
	Username   string  `json:"username"  valid:"Required;" description:"用户名"`
	Password   string  `json:"password"  description:"密码"`
	RealName   string  `json:"realName"  valid:"Required;" description:"姓名"`
	HeadUrl    string  `json:"headUrl" description:"头像"`
	Gender     int     `json:"gender" description:"用户性别，0: 未知；1:男性；2:女性"`
	PersonCode string  `json:"personCode" description:"人员编号"`
	DeptId     int64   `json:"deptId"  valid:"Required;" description:"部门ID"`
	Status     int     `json:"status" description:"状态  0：停用    1：正常"`
	RoleIdList []int64 `json:"roleIdList" description:"角色ID列表"`
}

type AddSysDictReq struct {
	Id          int64  `json:"id"`
	ParentCode  string `json:"parentCode" description:"上级编码"`
	DicCode     string `json:"dicCode" description:"编码"`
	DicKey      string `json:"dicKey" description:"key"`
	DicValue    string `json:"dicValue" description:"值"`
	Description string `json:"description" description:"字典描述"`
	Sort        int    `json:"sort" description:"排序"`
	Enabled     int    `json:"enabled" description:"启用状态,0:无效；1:有效"`
	Status      int    `json:"status" description:"状态"`
}

type LoginReq struct {
	Username string `json:"username"  valid:"Required;" description:"用户名"`
	Password string `json:"password"  valid:"Required;" description:"密码"`
}

type UpdatePwdReq struct {
	Password    string `json:"password"  valid:"Required;" description:"旧密码"`
	NewPassword string `json:"newPassword"  valid:"Required;" description:"新密码"`
}
